Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

openblas: add v0.3.28, drop old versions and patches, add OpenMP and ILP64 support #25344

Open
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

valgur
Copy link
Contributor

@valgur valgur commented Sep 20, 2024

Summary

Changes to recipe: openblas/[*]

Motivation

The current recipe is missing options for a few core features like OpenMP, ILP64 and the max number of available threads.

This limits its usefulness in libraries like faiss (#25272), Ginkgo (PR coming soon) and any other library that significantly relies on BLAS for linear algebra performance.

Details

Adds latest v0.3.28 and drops all versions v0.3.20 and older, which gets rid of many patches and checks.

Also adds support for all major options in the build system: https://github.com/OpenMathLib/OpenBLAS/blob/develop/docs/build_system.md#important-variables

  • OpenMP support.
  • ILP64 interface with 64-bit index variables. Needed by some features in the Ginkgo library, for example.
  • Support for bfloat16.
  • Set the max number of threads via a recipe option instead of based on the arbitrary number of cores available during build.

Fixed the exporting of serial/pthread/openmp component.

The value of 128 for the max number of threads was picked based on the value used by Debian and the current upper limit of available cores on consumer-grade hardware. Spack uses a value of 512, for example, but they also mostly target supercomputers.


@valgur valgur mentioned this pull request Sep 20, 2024
6 tasks
@valgur
Copy link
Contributor Author

valgur commented Sep 20, 2024

/cc @samuel-emrys since you seem to be interested in BLAS and LAPACK support on CCI.

@conan-center-bot

This comment has been minimized.

@conan-center-bot
Copy link
Collaborator

Conan v1 pipeline ❌

Failure in build 2 (edd94c90b694afe992ab32a37f4c0c48c3941387):

  • openblas/0.3.26:
    CI failed to create some packages (All logs)

    Logs for packageID f8428e83e66ff93d847637046b96178154504eb2:
    [settings]
    arch=x86_64
    build_type=Release
    compiler=gcc
    compiler.libcxx=libstdc++11
    compiler.version=11
    os=Linux
    [options]
    openblas:shared=False
    
    [...]
    
        $<LINK_LANGUAGE:C>
    
      Expression did not evaluate to a known generator expression
    
    
    CMake Error at ctest/CMakeLists.txt:59 (add_executable):
      Error evaluating generator expression:
    
        $<LINK_LANGUAGE:C>
    
      Expression did not evaluate to a known generator expression
    
    
    CMake Error at ctest/CMakeLists.txt:84 (add_executable):
      Error evaluating generator expression:
    
        $<LINK_LANGUAGE:C>
    
      Expression did not evaluate to a known generator expression
    
    
    CMake Error:
      Error evaluating generator expression:
    
        $<LINK_LANGUAGE:C>
    
      Expression did not evaluate to a known generator expression
    
    
    CMake Error at CMakeLists.txt:225 (add_library):
      Error evaluating generator expression:
    
        $<LINK_LANGUAGE:C>
    
      Expression did not evaluate to a known generator expression
    
    
    CMake Generate step failed.  Build files cannot be regenerated correctly.
    WARN: **************************************************
    WARN: *** Conan 1 is legacy and on a deprecation path **
    WARN: *********** Please upgrade to Conan 2 ************
    WARN: **************************************************
    openblas/0.3.26: WARN: Using the new toolchains and generators without specifying a build profile (e.g: -pr:b=default) is discouraged and might cause failures and unexpected behavior
    openblas/0.3.26: WARN: Using the new toolchains and generators without specifying a build profile (e.g: -pr:b=default) is discouraged and might cause failures and unexpected behavior
    openblas/0.3.26: ERROR: Package 'f8428e83e66ff93d847637046b96178154504eb2' build failed
    openblas/0.3.26: WARN: Build folder /home/conan/workspace/prod-v1/bsr/98222/fdbcb/.conan/data/openblas/0.3.26/_/_/build/f8428e83e66ff93d847637046b96178154504eb2/build/Release
    ERROR: openblas/0.3.26: Error in build() method, line 220
    	cmake.configure()
    	ConanException: Error 1 while executing cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE="/home/conan/workspace/prod-v1/bsr/98222/fdbcb/.conan/data/openblas/0.3.26/_/_/build/f8428e83e66ff93d847637046b96178154504eb2/build/Release/generators/conan_toolchain.cmake" -DCMAKE_INSTALL_PREFIX="/home/conan/workspace/prod-v1/bsr/98222/fdbcb/.conan/data/openblas/0.3.26/_/_/package/f8428e83e66ff93d847637046b96178154504eb2" -DCMAKE_POLICY_DEFAULT_CMP0022="NEW" -DCMAKE_POLICY_DEFAULT_CMP0077="NEW" -DCMAKE_POLICY_DEFAULT_CMP0091="NEW" -DCMAKE_BUILD_TYPE="Release" "/home/conan/workspace/prod-v1/bsr/98222/fdbcb/.conan/data/openblas/0.3.26/_/_/build/f8428e83e66ff93d847637046b96178154504eb2/src"
    
  • openblas/0.3.25:
    Didn't run or was cancelled before finishing

  • openblas/0.3.28:
    Didn't run or was cancelled before finishing

  • openblas/0.3.27:
    Didn't run or was cancelled before finishing

  • openblas/0.3.24:
    Didn't run or was cancelled before finishing


Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.


Conan v2 pipeline ❌

Note: Conan v2 builds are now mandatory. Please read our discussion about it.

The v2 pipeline failed. Please, review the errors and note this is required for pull requests to be merged. In case this recipe is still not ported to Conan 2.x, please, ping @conan-io/barbarians on the PR and we will help you.

Failure in build 2 (edd94c90b694afe992ab32a37f4c0c48c3941387):

  • openblas/0.3.28:
    CI failed to create some packages (All logs)

    Logs for packageID 38a9ca720e2dc84f3f5f7a54fc8df9afa309469b:
    [settings]
    arch=x86_64
    build_type=Release
    compiler=gcc
    compiler.cppstd=17
    compiler.libcxx=libstdc++11
    compiler.version=11
    os=Linux
    [options]
    */*:shared=False
    
    [...]
    
    CMake Error at ctest/CMakeLists.txt:38 (add_executable):
      Error evaluating generator expression:
    
        $<LINK_LANGUAGE:C>
    
      Expression did not evaluate to a known generator expression
    
    
    CMake Error at ctest/CMakeLists.txt:63 (add_executable):
      Error evaluating generator expression:
    
        $<LINK_LANGUAGE:C>
    
      Expression did not evaluate to a known generator expression
    
    
    CMake Error at ctest/CMakeLists.txt:103 (add_executable):
      Error evaluating generator expression:
    
        $<LINK_LANGUAGE:C>
    
      Expression did not evaluate to a known generator expression
    
    
    CMake Error:
      Error evaluating generator expression:
    
        $<LINK_LANGUAGE:C>
    
      Expression did not evaluate to a known generator expression
    
    
    CMake Error at CMakeLists.txt:234 (add_library):
      Error evaluating generator expression:
    
        $<LINK_LANGUAGE:C>
    
      Expression did not evaluate to a known generator expression
    
    
    -- Generating done
    CMake Generate step failed.  Build files cannot be regenerated correctly.
    
    openblas/0.3.28: ERROR: 
    Package '38a9ca720e2dc84f3f5f7a54fc8df9afa309469b' build failed
    openblas/0.3.28: WARN: Build folder /home/conan/workspace/prod-v2/bsr/87603/babcc/p/b/openb0ed3918f5e7cf/b/build/Release
    ERROR: openblas/0.3.28: Error in build() method, line 220
    	cmake.configure()
    	ConanException: Error 1 while executing
    
  • openblas/0.3.26:
    Didn't run or was cancelled before finishing

  • openblas/0.3.25:
    Didn't run or was cancelled before finishing

  • openblas/0.3.24:
    Didn't run or was cancelled before finishing

  • openblas/0.3.27:
    Didn't run or was cancelled before finishing


Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants